part of 'week_report_bloc.dart';

sealed class WeekReportState extends Equatable {
  const WeekReportState();
}

final class WeekReportInitial extends WeekReportState {
  @override
  List<Object> get props => [];
}

final class Table1LoadingState extends WeekReportState{

  const Table1LoadingState();

  @override
  List<Object> get props => [];

}

final class DianShangLoadingState extends WeekReportState{
  const DianShangLoadingState();
  @override
  List<Object> get props => [];
}

final class DianShangState extends WeekReportState{

   final Map<String, Map<String, dynamic>> resultMaps;
   final List<SignStatisticsBean> currentData;
   final List<SignStatisticsBean> lastMonthData;
   const DianShangState({required this.currentData,required this.lastMonthData,required this.resultMaps});

  @override
  List<Object> get props => [currentData,lastMonthData,resultMaps];
}

// RINCOS
class RincosLoadingState extends WeekReportState{
  const RincosLoadingState();
  @override
  List<Object> get props => [];

}
class RincosResultState extends WeekReportState{
  final Map<String, List<AccountData>> resultData;
  final Map<String, String> mapsFail ;

  const RincosResultState({required this.resultData,required this.mapsFail});
  @override
  List<Object> get props => [resultData,mapsFail];

}
class RincosFailState extends WeekReportState{
  final String failureMsg;

  const RincosFailState({required this.failureMsg});
  @override
  List<Object> get props => [failureMsg];

}


class WaiPanZhanBiLoadingState extends WeekReportState{
  const WaiPanZhanBiLoadingState();
  @override
  List<Object> get props => [];

}

class WaiPanZhanBiSuccessState extends WeekReportState{
  final WaiPanZhanBiBean waiPanZhanBiBean;
  final CmsTicketBean cmsTicketBean;
  final ThirdPartyBean thirdPartyBean;
  final LocalDeliveryStatisticsBean localDeliveryStatisticsBean;
  final IndependentStatisticalBean independentStatisticalBean ;
  const WaiPanZhanBiSuccessState({required this.thirdPartyBean,required this.waiPanZhanBiBean,required this.cmsTicketBean,required this.localDeliveryStatisticsBean,required this.independentStatisticalBean});

  @override
  List<Object> get props => [thirdPartyBean,waiPanZhanBiBean,cmsTicketBean,localDeliveryStatisticsBean,independentStatisticalBean];
}

class WaiPanZhanBiFailureState extends WeekReportState{
  final String failureMsg;
  const WaiPanZhanBiFailureState({required this.failureMsg});

  @override
  List<Object> get props => [failureMsg];
}




class TaoPiaoXiaoShouShiYongLoadingState extends WeekReportState{
  const TaoPiaoXiaoShouShiYongLoadingState();
  @override
  List<Object> get props => [];

}

class TaoPiaoXiaoShouShiYongSuccessState extends WeekReportState{

  final dynamic resultData;
  final DailyInformationBean dailyInformationBean;
   final DailyVoteBean dailyVoteBean;

  const TaoPiaoXiaoShouShiYongSuccessState({required this.resultData,required this.dailyInformationBean,required this.dailyVoteBean});

  @override
  List<Object> get props => [resultData,dailyInformationBean,dailyVoteBean];
}

class TaoPiaoXiaoShouShiYongFailureState extends WeekReportState{
  final String failureMsg;
  const TaoPiaoXiaoShouShiYongFailureState({required this.failureMsg});

  @override
  List<Object> get props => [failureMsg];
}

class MonthFeeAndTaoPiaoSuccessState extends WeekReportState{

 final List<CustomerBeanData> originDataTemp ;
 final List<CustomerBeanData> cDataTemp      ;
 final List<CustomerBeanData> nDataTemp      ;
 final List<CustomerBeanData> bDataTemp      ;

 const MonthFeeAndTaoPiaoSuccessState({required this.originDataTemp,required this.cDataTemp,required this.nDataTemp,required this.bDataTemp});

  @override
  List<Object> get props => [originDataTemp,cDataTemp,nDataTemp,bDataTemp];


}

class DianShangDataLoadingState extends WeekReportState{
  const DianShangDataLoadingState();

  @override
  List<Object> get props => [];
}

class DianShangDataSuccessState extends WeekReportState{
  final List<int> monthCounts;
  final List<OtherOnlineData> existenceData;
  final List<OtherOnlineData> nData;

  const DianShangDataSuccessState({required this.existenceData,required this.nData,required this.monthCounts});
  @override
  List<Object> get props => [existenceData,nData,monthCounts];
}


class HuiZongDataLoadingState extends WeekReportState{
  const HuiZongDataLoadingState();

  @override
  List<Object> get props => [];
}

class HuiZongDataSuccessState extends WeekReportState{
  final Map<String, dynamic> tpData;
  final Map<String, dynamic> monthData;
  final List<Map<String, dynamic>> resultData;

   const HuiZongDataSuccessState({required this.resultData,required this.tpData,required this.monthData});

  @override
  List<Object> get props => [resultData,tpData,monthData];

}



class AdjustmentAuditLoadingState extends WeekReportState{
  const AdjustmentAuditLoadingState();

  @override
  List<Object> get props => [];
}

class AdjustmentAuditSuccessState extends WeekReportState{

  final Map<String,dynamic> resultAllData;
  final Map<String,dynamic> resultWholeMonthData;

  const AdjustmentAuditSuccessState({required this.resultAllData,required this.resultWholeMonthData});

  @override
  List<Object> get props => [resultAllData,resultWholeMonthData];
}

